package com.grad.why.studentsystem.domain;

import java.util.ArrayList;
import java.util.List;

public class CameraExample implements java.io.Serializable{
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CameraExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andCameraidIsNull() {
            addCriterion("cameraId is null");
            return (Criteria) this;
        }

        public Criteria andCameraidIsNotNull() {
            addCriterion("cameraId is not null");
            return (Criteria) this;
        }

        public Criteria andCameraidEqualTo(Integer value) {
            addCriterion("cameraId =", value, "cameraid");
            return (Criteria) this;
        }

        public Criteria andCameraidNotEqualTo(Integer value) {
            addCriterion("cameraId <>", value, "cameraid");
            return (Criteria) this;
        }

        public Criteria andCameraidGreaterThan(Integer value) {
            addCriterion("cameraId >", value, "cameraid");
            return (Criteria) this;
        }

        public Criteria andCameraidGreaterThanOrEqualTo(Integer value) {
            addCriterion("cameraId >=", value, "cameraid");
            return (Criteria) this;
        }

        public Criteria andCameraidLessThan(Integer value) {
            addCriterion("cameraId <", value, "cameraid");
            return (Criteria) this;
        }

        public Criteria andCameraidLessThanOrEqualTo(Integer value) {
            addCriterion("cameraId <=", value, "cameraid");
            return (Criteria) this;
        }

        public Criteria andCameraidIn(List<Integer> values) {
            addCriterion("cameraId in", values, "cameraid");
            return (Criteria) this;
        }

        public Criteria andCameraidNotIn(List<Integer> values) {
            addCriterion("cameraId not in", values, "cameraid");
            return (Criteria) this;
        }

        public Criteria andCameraidBetween(Integer value1, Integer value2) {
            addCriterion("cameraId between", value1, value2, "cameraid");
            return (Criteria) this;
        }

        public Criteria andCameraidNotBetween(Integer value1, Integer value2) {
            addCriterion("cameraId not between", value1, value2, "cameraid");
            return (Criteria) this;
        }

        public Criteria andClassroomidIsNull() {
            addCriterion("classroomid is null");
            return (Criteria) this;
        }

        public Criteria andClassroomidIsNotNull() {
            addCriterion("classroomid is not null");
            return (Criteria) this;
        }

        public Criteria andClassroomidEqualTo(Integer value) {
            addCriterion("classroomid =", value, "classroomid");
            return (Criteria) this;
        }

        public Criteria andClassroomidNotEqualTo(Integer value) {
            addCriterion("classroomid <>", value, "classroomid");
            return (Criteria) this;
        }

        public Criteria andClassroomidGreaterThan(Integer value) {
            addCriterion("classroomid >", value, "classroomid");
            return (Criteria) this;
        }

        public Criteria andClassroomidGreaterThanOrEqualTo(Integer value) {
            addCriterion("classroomid >=", value, "classroomid");
            return (Criteria) this;
        }

        public Criteria andClassroomidLessThan(Integer value) {
            addCriterion("classroomid <", value, "classroomid");
            return (Criteria) this;
        }

        public Criteria andClassroomidLessThanOrEqualTo(Integer value) {
            addCriterion("classroomid <=", value, "classroomid");
            return (Criteria) this;
        }

        public Criteria andClassroomidIn(List<Integer> values) {
            addCriterion("classroomid in", values, "classroomid");
            return (Criteria) this;
        }

        public Criteria andClassroomidNotIn(List<Integer> values) {
            addCriterion("classroomid not in", values, "classroomid");
            return (Criteria) this;
        }

        public Criteria andClassroomidBetween(Integer value1, Integer value2) {
            addCriterion("classroomid between", value1, value2, "classroomid");
            return (Criteria) this;
        }

        public Criteria andClassroomidNotBetween(Integer value1, Integer value2) {
            addCriterion("classroomid not between", value1, value2, "classroomid");
            return (Criteria) this;
        }

        public Criteria andDeviceinfoIsNull() {
            addCriterion("deviceInfo is null");
            return (Criteria) this;
        }

        public Criteria andDeviceinfoIsNotNull() {
            addCriterion("deviceInfo is not null");
            return (Criteria) this;
        }

        public Criteria andDeviceinfoEqualTo(String value) {
            addCriterion("deviceInfo =", value, "deviceinfo");
            return (Criteria) this;
        }

        public Criteria andDeviceinfoNotEqualTo(String value) {
            addCriterion("deviceInfo <>", value, "deviceinfo");
            return (Criteria) this;
        }

        public Criteria andDeviceinfoGreaterThan(String value) {
            addCriterion("deviceInfo >", value, "deviceinfo");
            return (Criteria) this;
        }

        public Criteria andDeviceinfoGreaterThanOrEqualTo(String value) {
            addCriterion("deviceInfo >=", value, "deviceinfo");
            return (Criteria) this;
        }

        public Criteria andDeviceinfoLessThan(String value) {
            addCriterion("deviceInfo <", value, "deviceinfo");
            return (Criteria) this;
        }

        public Criteria andDeviceinfoLessThanOrEqualTo(String value) {
            addCriterion("deviceInfo <=", value, "deviceinfo");
            return (Criteria) this;
        }

        public Criteria andDeviceinfoLike(String value) {
            addCriterion("deviceInfo like", value, "deviceinfo");
            return (Criteria) this;
        }

        public Criteria andDeviceinfoNotLike(String value) {
            addCriterion("deviceInfo not like", value, "deviceinfo");
            return (Criteria) this;
        }

        public Criteria andDeviceinfoIn(List<String> values) {
            addCriterion("deviceInfo in", values, "deviceinfo");
            return (Criteria) this;
        }

        public Criteria andDeviceinfoNotIn(List<String> values) {
            addCriterion("deviceInfo not in", values, "deviceinfo");
            return (Criteria) this;
        }

        public Criteria andDeviceinfoBetween(String value1, String value2) {
            addCriterion("deviceInfo between", value1, value2, "deviceinfo");
            return (Criteria) this;
        }

        public Criteria andDeviceinfoNotBetween(String value1, String value2) {
            addCriterion("deviceInfo not between", value1, value2, "deviceinfo");
            return (Criteria) this;
        }

        public Criteria andShouldupdateIsNull() {
            addCriterion("shouldupdate is null");
            return (Criteria) this;
        }

        public Criteria andShouldupdateIsNotNull() {
            addCriterion("shouldupdate is not null");
            return (Criteria) this;
        }

        public Criteria andShouldupdateEqualTo(Integer value) {
            addCriterion("shouldupdate =", value, "shouldupdate");
            return (Criteria) this;
        }

        public Criteria andShouldupdateNotEqualTo(Integer value) {
            addCriterion("shouldupdate <>", value, "shouldupdate");
            return (Criteria) this;
        }

        public Criteria andShouldupdateGreaterThan(Integer value) {
            addCriterion("shouldupdate >", value, "shouldupdate");
            return (Criteria) this;
        }

        public Criteria andShouldupdateGreaterThanOrEqualTo(Integer value) {
            addCriterion("shouldupdate >=", value, "shouldupdate");
            return (Criteria) this;
        }

        public Criteria andShouldupdateLessThan(Integer value) {
            addCriterion("shouldupdate <", value, "shouldupdate");
            return (Criteria) this;
        }

        public Criteria andShouldupdateLessThanOrEqualTo(Integer value) {
            addCriterion("shouldupdate <=", value, "shouldupdate");
            return (Criteria) this;
        }

        public Criteria andShouldupdateIn(List<Integer> values) {
            addCriterion("shouldupdate in", values, "shouldupdate");
            return (Criteria) this;
        }

        public Criteria andShouldupdateNotIn(List<Integer> values) {
            addCriterion("shouldupdate not in", values, "shouldupdate");
            return (Criteria) this;
        }

        public Criteria andShouldupdateBetween(Integer value1, Integer value2) {
            addCriterion("shouldupdate between", value1, value2, "shouldupdate");
            return (Criteria) this;
        }

        public Criteria andShouldupdateNotBetween(Integer value1, Integer value2) {
            addCriterion("shouldupdate not between", value1, value2, "shouldupdate");
            return (Criteria) this;
        }

        public Criteria andHeightIsNull() {
            addCriterion("height is null");
            return (Criteria) this;
        }

        public Criteria andHeightIsNotNull() {
            addCriterion("height is not null");
            return (Criteria) this;
        }

        public Criteria andHeightEqualTo(Integer value) {
            addCriterion("height =", value, "height");
            return (Criteria) this;
        }

        public Criteria andHeightNotEqualTo(Integer value) {
            addCriterion("height <>", value, "height");
            return (Criteria) this;
        }

        public Criteria andHeightGreaterThan(Integer value) {
            addCriterion("height >", value, "height");
            return (Criteria) this;
        }

        public Criteria andHeightGreaterThanOrEqualTo(Integer value) {
            addCriterion("height >=", value, "height");
            return (Criteria) this;
        }

        public Criteria andHeightLessThan(Integer value) {
            addCriterion("height <", value, "height");
            return (Criteria) this;
        }

        public Criteria andHeightLessThanOrEqualTo(Integer value) {
            addCriterion("height <=", value, "height");
            return (Criteria) this;
        }

        public Criteria andHeightIn(List<Integer> values) {
            addCriterion("height in", values, "height");
            return (Criteria) this;
        }

        public Criteria andHeightNotIn(List<Integer> values) {
            addCriterion("height not in", values, "height");
            return (Criteria) this;
        }

        public Criteria andHeightBetween(Integer value1, Integer value2) {
            addCriterion("height between", value1, value2, "height");
            return (Criteria) this;
        }

        public Criteria andHeightNotBetween(Integer value1, Integer value2) {
            addCriterion("height not between", value1, value2, "height");
            return (Criteria) this;
        }

        public Criteria andWidthIsNull() {
            addCriterion("width is null");
            return (Criteria) this;
        }

        public Criteria andWidthIsNotNull() {
            addCriterion("width is not null");
            return (Criteria) this;
        }

        public Criteria andWidthEqualTo(Integer value) {
            addCriterion("width =", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthNotEqualTo(Integer value) {
            addCriterion("width <>", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthGreaterThan(Integer value) {
            addCriterion("width >", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthGreaterThanOrEqualTo(Integer value) {
            addCriterion("width >=", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthLessThan(Integer value) {
            addCriterion("width <", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthLessThanOrEqualTo(Integer value) {
            addCriterion("width <=", value, "width");
            return (Criteria) this;
        }

        public Criteria andWidthIn(List<Integer> values) {
            addCriterion("width in", values, "width");
            return (Criteria) this;
        }

        public Criteria andWidthNotIn(List<Integer> values) {
            addCriterion("width not in", values, "width");
            return (Criteria) this;
        }

        public Criteria andWidthBetween(Integer value1, Integer value2) {
            addCriterion("width between", value1, value2, "width");
            return (Criteria) this;
        }

        public Criteria andWidthNotBetween(Integer value1, Integer value2) {
            addCriterion("width not between", value1, value2, "width");
            return (Criteria) this;
        }

        public Criteria andFxIsNull() {
            addCriterion("fx is null");
            return (Criteria) this;
        }

        public Criteria andFxIsNotNull() {
            addCriterion("fx is not null");
            return (Criteria) this;
        }

        public Criteria andFxEqualTo(Double value) {
            addCriterion("fx =", value, "fx");
            return (Criteria) this;
        }

        public Criteria andFxNotEqualTo(Double value) {
            addCriterion("fx <>", value, "fx");
            return (Criteria) this;
        }

        public Criteria andFxGreaterThan(Double value) {
            addCriterion("fx >", value, "fx");
            return (Criteria) this;
        }

        public Criteria andFxGreaterThanOrEqualTo(Double value) {
            addCriterion("fx >=", value, "fx");
            return (Criteria) this;
        }

        public Criteria andFxLessThan(Double value) {
            addCriterion("fx <", value, "fx");
            return (Criteria) this;
        }

        public Criteria andFxLessThanOrEqualTo(Double value) {
            addCriterion("fx <=", value, "fx");
            return (Criteria) this;
        }

        public Criteria andFxIn(List<Double> values) {
            addCriterion("fx in", values, "fx");
            return (Criteria) this;
        }

        public Criteria andFxNotIn(List<Double> values) {
            addCriterion("fx not in", values, "fx");
            return (Criteria) this;
        }

        public Criteria andFxBetween(Double value1, Double value2) {
            addCriterion("fx between", value1, value2, "fx");
            return (Criteria) this;
        }

        public Criteria andFxNotBetween(Double value1, Double value2) {
            addCriterion("fx not between", value1, value2, "fx");
            return (Criteria) this;
        }

        public Criteria andFyIsNull() {
            addCriterion("fy is null");
            return (Criteria) this;
        }

        public Criteria andFyIsNotNull() {
            addCriterion("fy is not null");
            return (Criteria) this;
        }

        public Criteria andFyEqualTo(Double value) {
            addCriterion("fy =", value, "fy");
            return (Criteria) this;
        }

        public Criteria andFyNotEqualTo(Double value) {
            addCriterion("fy <>", value, "fy");
            return (Criteria) this;
        }

        public Criteria andFyGreaterThan(Double value) {
            addCriterion("fy >", value, "fy");
            return (Criteria) this;
        }

        public Criteria andFyGreaterThanOrEqualTo(Double value) {
            addCriterion("fy >=", value, "fy");
            return (Criteria) this;
        }

        public Criteria andFyLessThan(Double value) {
            addCriterion("fy <", value, "fy");
            return (Criteria) this;
        }

        public Criteria andFyLessThanOrEqualTo(Double value) {
            addCriterion("fy <=", value, "fy");
            return (Criteria) this;
        }

        public Criteria andFyIn(List<Double> values) {
            addCriterion("fy in", values, "fy");
            return (Criteria) this;
        }

        public Criteria andFyNotIn(List<Double> values) {
            addCriterion("fy not in", values, "fy");
            return (Criteria) this;
        }

        public Criteria andFyBetween(Double value1, Double value2) {
            addCriterion("fy between", value1, value2, "fy");
            return (Criteria) this;
        }

        public Criteria andFyNotBetween(Double value1, Double value2) {
            addCriterion("fy not between", value1, value2, "fy");
            return (Criteria) this;
        }

        public Criteria andXscaleIsNull() {
            addCriterion("xscale is null");
            return (Criteria) this;
        }

        public Criteria andXscaleIsNotNull() {
            addCriterion("xscale is not null");
            return (Criteria) this;
        }

        public Criteria andXscaleEqualTo(Double value) {
            addCriterion("xscale =", value, "xscale");
            return (Criteria) this;
        }

        public Criteria andXscaleNotEqualTo(Double value) {
            addCriterion("xscale <>", value, "xscale");
            return (Criteria) this;
        }

        public Criteria andXscaleGreaterThan(Double value) {
            addCriterion("xscale >", value, "xscale");
            return (Criteria) this;
        }

        public Criteria andXscaleGreaterThanOrEqualTo(Double value) {
            addCriterion("xscale >=", value, "xscale");
            return (Criteria) this;
        }

        public Criteria andXscaleLessThan(Double value) {
            addCriterion("xscale <", value, "xscale");
            return (Criteria) this;
        }

        public Criteria andXscaleLessThanOrEqualTo(Double value) {
            addCriterion("xscale <=", value, "xscale");
            return (Criteria) this;
        }

        public Criteria andXscaleIn(List<Double> values) {
            addCriterion("xscale in", values, "xscale");
            return (Criteria) this;
        }

        public Criteria andXscaleNotIn(List<Double> values) {
            addCriterion("xscale not in", values, "xscale");
            return (Criteria) this;
        }

        public Criteria andXscaleBetween(Double value1, Double value2) {
            addCriterion("xscale between", value1, value2, "xscale");
            return (Criteria) this;
        }

        public Criteria andXscaleNotBetween(Double value1, Double value2) {
            addCriterion("xscale not between", value1, value2, "xscale");
            return (Criteria) this;
        }

        public Criteria andYscaleIsNull() {
            addCriterion("yscale is null");
            return (Criteria) this;
        }

        public Criteria andYscaleIsNotNull() {
            addCriterion("yscale is not null");
            return (Criteria) this;
        }

        public Criteria andYscaleEqualTo(Double value) {
            addCriterion("yscale =", value, "yscale");
            return (Criteria) this;
        }

        public Criteria andYscaleNotEqualTo(Double value) {
            addCriterion("yscale <>", value, "yscale");
            return (Criteria) this;
        }

        public Criteria andYscaleGreaterThan(Double value) {
            addCriterion("yscale >", value, "yscale");
            return (Criteria) this;
        }

        public Criteria andYscaleGreaterThanOrEqualTo(Double value) {
            addCriterion("yscale >=", value, "yscale");
            return (Criteria) this;
        }

        public Criteria andYscaleLessThan(Double value) {
            addCriterion("yscale <", value, "yscale");
            return (Criteria) this;
        }

        public Criteria andYscaleLessThanOrEqualTo(Double value) {
            addCriterion("yscale <=", value, "yscale");
            return (Criteria) this;
        }

        public Criteria andYscaleIn(List<Double> values) {
            addCriterion("yscale in", values, "yscale");
            return (Criteria) this;
        }

        public Criteria andYscaleNotIn(List<Double> values) {
            addCriterion("yscale not in", values, "yscale");
            return (Criteria) this;
        }

        public Criteria andYscaleBetween(Double value1, Double value2) {
            addCriterion("yscale between", value1, value2, "yscale");
            return (Criteria) this;
        }

        public Criteria andYscaleNotBetween(Double value1, Double value2) {
            addCriterion("yscale not between", value1, value2, "yscale");
            return (Criteria) this;
        }

        public Criteria andChecktimesIsNull() {
            addCriterion("checktimes is null");
            return (Criteria) this;
        }

        public Criteria andChecktimesIsNotNull() {
            addCriterion("checktimes is not null");
            return (Criteria) this;
        }

        public Criteria andChecktimesEqualTo(Integer value) {
            addCriterion("checktimes =", value, "checktimes");
            return (Criteria) this;
        }

        public Criteria andChecktimesNotEqualTo(Integer value) {
            addCriterion("checktimes <>", value, "checktimes");
            return (Criteria) this;
        }

        public Criteria andChecktimesGreaterThan(Integer value) {
            addCriterion("checktimes >", value, "checktimes");
            return (Criteria) this;
        }

        public Criteria andChecktimesGreaterThanOrEqualTo(Integer value) {
            addCriterion("checktimes >=", value, "checktimes");
            return (Criteria) this;
        }

        public Criteria andChecktimesLessThan(Integer value) {
            addCriterion("checktimes <", value, "checktimes");
            return (Criteria) this;
        }

        public Criteria andChecktimesLessThanOrEqualTo(Integer value) {
            addCriterion("checktimes <=", value, "checktimes");
            return (Criteria) this;
        }

        public Criteria andChecktimesIn(List<Integer> values) {
            addCriterion("checktimes in", values, "checktimes");
            return (Criteria) this;
        }

        public Criteria andChecktimesNotIn(List<Integer> values) {
            addCriterion("checktimes not in", values, "checktimes");
            return (Criteria) this;
        }

        public Criteria andChecktimesBetween(Integer value1, Integer value2) {
            addCriterion("checktimes between", value1, value2, "checktimes");
            return (Criteria) this;
        }

        public Criteria andChecktimesNotBetween(Integer value1, Integer value2) {
            addCriterion("checktimes not between", value1, value2, "checktimes");
            return (Criteria) this;
        }

        public Criteria andUsetypeIsNull() {
            addCriterion("usetype is null");
            return (Criteria) this;
        }

        public Criteria andUsetypeIsNotNull() {
            addCriterion("usetype is not null");
            return (Criteria) this;
        }

        public Criteria andUsetypeEqualTo(Integer value) {
            addCriterion("usetype =", value, "usetype");
            return (Criteria) this;
        }

        public Criteria andUsetypeNotEqualTo(Integer value) {
            addCriterion("usetype <>", value, "usetype");
            return (Criteria) this;
        }

        public Criteria andUsetypeGreaterThan(Integer value) {
            addCriterion("usetype >", value, "usetype");
            return (Criteria) this;
        }

        public Criteria andUsetypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("usetype >=", value, "usetype");
            return (Criteria) this;
        }

        public Criteria andUsetypeLessThan(Integer value) {
            addCriterion("usetype <", value, "usetype");
            return (Criteria) this;
        }

        public Criteria andUsetypeLessThanOrEqualTo(Integer value) {
            addCriterion("usetype <=", value, "usetype");
            return (Criteria) this;
        }

        public Criteria andUsetypeIn(List<Integer> values) {
            addCriterion("usetype in", values, "usetype");
            return (Criteria) this;
        }

        public Criteria andUsetypeNotIn(List<Integer> values) {
            addCriterion("usetype not in", values, "usetype");
            return (Criteria) this;
        }

        public Criteria andUsetypeBetween(Integer value1, Integer value2) {
            addCriterion("usetype between", value1, value2, "usetype");
            return (Criteria) this;
        }

        public Criteria andUsetypeNotBetween(Integer value1, Integer value2) {
            addCriterion("usetype not between", value1, value2, "usetype");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}